package main

import (
	"fmt"
	// "time"
)

// type Person struct {
// 	Name string 
// 	Age int
// }

// func (p Person) SayHello() {
// 	fmt.Printf("你好，我是%s，今年%d岁\n", p.Name, p.Age)
// }

// func (p *Person) SetAge(age int) {
// 	p.Age = age
// }

// func NewPerson(name string, age int) *Person {
// 	return &Person{
// 		Name: name,
// 		Age: age,
// 	}
// }

// type Animal interface {
// 	MakeSound() string 
// 	Move() string 
// }

// type Dog struct {
// 	Name string
// }

// func (d Dog) MakeSound() string {
// 	return "汪汪"
// }

// func (d Dog) Move() string {
// 	return "跑步"
// }

// type Cat struct {
// 	Name string
// }

// func (c Cat) MakeSound() string {
// 	return "喵喵"
// }

// func (c Cat) Move() string {
// 	return "优雅地走"
// }

// func AnimalInfo(a Animal) {
// 	fmt.Printf("声音: %s, 移动方式: %s\n", a.MakeSound(), a.Move())
// }

// func SayHello() {
// 	for i := 0; i < 5; i++ {
// 		fmt.Println("Hello")
// 		time.Sleep(100 * time.Millisecond)
// 	}
// }

// func sum(s []int, c chan int) {
// 	sum := 0
// 	for _, v := range s {
// 		sum += v
// 	}
// 	c <- sum
// }

func main() {
	// person := NewPerson("曾彤飞", 20)
	// person.SayHello()
	// person.SetAge(80)
	// person.SayHello()

	// dog := Dog{Name: "旺财"}
	// cat := Cat{Name: "咪咪"}
	// AnimalInfo(dog)
	// AnimalInfo(cat)

	// go SayHello()
	// for i := 0; i < 5; i++ {
	// 	fmt.Println("Main")
	// 	time.Sleep(100 * time.Millisecond)
	// }

	// s := [...]int{7, 2, 8, -9, 4, 0}
	// c := make(chan int)
	// go sum(s[:len(s) / 2], c)
	// go sum(s[len(s) / 2:], c)
	// x, y := <-c, <-c
	// fmt.Println(x, y, x + y)
}